package org.shreker.shan.core.domain;

import org.shreker.shan.base.domain.BaseBean;
import org.shreker.shan.core.util.BitUtil;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class User extends BaseBean {
	/**
	 * 实名认证状态
	 */
	public static final long BITSTATE_REALNAME_AUTHENTICATION = 1;
	/**
	 * 手机认证状态
	 */
	public static final long BITSTATE_PHONE_AUTHENTICATION = 1 << 1;
	/**
	 * 邮箱认证状态
	 */
	public static final long BITSTATE_EMAIL_AUTHENTICATION = 1 << 2;
	/**
	 * VIP状态
	 */
	public static final long BITSTATE_VIP_AUTHENTICATION = 1 << 3;

	/**
	 * 当前用户的认证状态字段, 所有的状态都存储在这个数字中
	 */
	private Long bitState;
	/**
	 * 真实姓名
	 */
	private String realName;
	/**
	 * 省份证号码
	 */
	private String idNumber;
	/**
	 * 手机号码
	 */
	private String phone;
	/**
	 * 生成的手机验证码
	 */
	private String tempVerifiedCode;
	
	public boolean hasBindPhone() {
		return BitUtil.hasStatus(bitState, BITSTATE_PHONE_AUTHENTICATION);
	}

}
